package leetcode;

import java.util.LinkedList;
import java.util.Queue;

public class p225用队列实现栈 {
    private Queue<Integer> queue=new LinkedList<>();
    //Queue接口 不能实例化，使用 接口引用 时要用具体的类实现
    /** Initialize your data structure here. */
    public p225用队列实现栈 () {

    }

    /** Push element x onto stack. */
    public void push(int x) {
        queue.add(x);
    }

    /** Removes the element on top of the stack and returns that element. */
    public int pop() {//弹出栈顶元素
        //不考虑队列为空
        for(int i=0;i<queue.size()-1;i++) {
            int e=queue.remove();
            queue.add(e);
        }
        return queue.remove();
    }

    /** Get the top element. */
    public int top() {//查看栈顶元素
        for(int i=0;i<queue.size()-1;i++) {
            int e=queue.remove();
            queue.add(e);
        }
        int e=queue.remove();//取出最后一个元素
        queue.add(e);//最后一个元素放回

        return e;

    }

    /** Returns whether the stack is empty. */
    public boolean empty() {
        return queue.isEmpty();

    }
}
